import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
// Modules
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { MainRoutingModule } from './main-routing.module';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { NgZorroAntdModule } from 'ng-zorro-antd';
import { NgxEchartsModule } from 'ngx-echarts';
// components
import { IndexComponent } from './index/index.component';
import { PrinterComponent } from './printer/printer.component';
import { RolesComponent } from './roles/roles.component';
import { AddroleComponent } from './roles/addrole/addrole.component';
import { EditroleComponent } from './roles/editrole/editrole.component';
import { AcountComponent } from './acount/acount.component';
import { AddacountComponent } from './acount/addacount/addacount.component';
import { EditacountComponent } from './acount/editacount/editacount.component';
import { InfosettingComponent } from './infosetting/infosetting.component';
import { EditpersoninfoComponent } from './infosetting/editpersoninfo/editpersoninfo.component';
import { EditpasswordComponent } from './infosetting/editpassword/editpassword.component';
import { FeedbackComponent } from './infosetting/feedback/feedback.component';
import { AddprinterComponent } from './printer/addprinter/addprinter.component';
import { EditprinterComponent } from './printer/editprinter/editprinter.component';
import { PrinterinfoComponent } from './printer/printerinfo/printerinfo.component';
import { PrinterconfigComponent } from './printer/printerconfig/printerconfig.component';
import { SigningComponent } from './printer/signing/signing.component';
import { SignlistComponent } from './signlist/signlist.component';
import { PrinterbillComponent } from './printerbill/printerbill.component';
import { UserbillComponent } from './userbill/userbill.component';
import { MaintlistComponent } from './maintlist/maintlist.component';
import { AddmaintComponent } from './maintlist/addmaint/addmaint.component';
import { EditmaintComponent } from './maintlist/editmaint/editmaint.component';
import { MaintinfoComponent } from './maintlist/maintinfo/maintinfo.component';
import { TenantlistComponent } from './tenantlist/tenantlist.component';
import { TasklistComponent } from './tasklist/tasklist.component';
import { PrintertaskComponent } from './printertask/printertask.component';
import { TaskinfoComponent } from './tasklist/taskinfo/taskinfo.component';
import { MeterlistComponent } from './meterlist/meterlist.component';
import { AddtenantComponent } from './tenantlist/addtenant/addtenant.component';
import { EdittenantComponent } from './tenantlist/edittenant/edittenant.component';
import { TenantinfoComponent } from './tenantlist/tenantinfo/tenantinfo.component';
import { SigninfoComponent } from './signlist/signinfo/signinfo.component';
import { WxpayComponent } from './paymodel/wxpay/wxpay.component';
import { ZfbpayComponent } from './paymodel/zfbpay/zfbpay.component';
import { SetareaComponent } from './maintlist/setarea/setarea.component';
import { PrinterbillinfoComponent } from './printerbill/printerbillinfo/printerbillinfo.component';
import { ManagerlogComponent } from './logs/managerlog/managerlog.component';
import { MaintlogComponent } from './logs/maintlog/maintlog.component';
import { TenantlogComponent } from './logs/tenantlog/tenantlog.component';
import { MainComponent } from './main.component';
import { NotdealfaultComponent } from './notdealfault/notdealfault.component';
import { AddnotdealfaultComponent } from './notdealfault/addnotdealfault/addnotdealfault.component';
import { NOpage404Component } from '../nopage404/nopage404.component';
import { MyfeedbackComponent } from './myfeedback/myfeedback.component';
import { FeedbackinfoComponent } from './myfeedback/feedbackinfo/feedbackinfo.component';

@NgModule({
  declarations: [
    MainComponent,
    IndexComponent,
    PrinterComponent,
    RolesComponent,
    AddroleComponent,
    EditroleComponent,
    AcountComponent,
    AddacountComponent,
    EditacountComponent,
    InfosettingComponent,
    EditpersoninfoComponent,
    EditpasswordComponent,
    FeedbackComponent,
    AddprinterComponent,
    EditprinterComponent,
    PrinterinfoComponent,
    SigningComponent,
    SignlistComponent,
    PrinterbillComponent,
    UserbillComponent,
    MaintlistComponent,
    AddmaintComponent,
    EditmaintComponent,
    MaintinfoComponent,
    TenantlistComponent,
    TasklistComponent,
    PrintertaskComponent,
    TaskinfoComponent,
    MeterlistComponent,
    PrinterconfigComponent,
    AddtenantComponent,
    EdittenantComponent,
    TenantinfoComponent,
    SigninfoComponent,
    WxpayComponent,
    ZfbpayComponent,
    SetareaComponent,
    PrinterbillinfoComponent,
    ManagerlogComponent,
    MaintlogComponent,
    TenantlogComponent,
    NotdealfaultComponent,
    AddnotdealfaultComponent,
    NOpage404Component,
    MyfeedbackComponent,
    FeedbackinfoComponent
  ],
  imports: [
    CommonModule,
    NgZorroAntdModule,
    RouterModule.forChild(MainRoutingModule),
    FormsModule,
    ReactiveFormsModule,
    NgxEchartsModule
  ],
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  exports: [
    RouterModule]
})
export class MainModule { }
